{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "tags": [
     "remove-cell"
    ]
   },
   "outputs": [],
   "source": [
    "import sys\n",
    "import os\n",
    "if not any(path.endswith('textbook') for path in sys.path):\n",
    "    sys.path.append(os.path.abspath('../../..'))\n",
    "from textbook_utils import *"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "# Text Analysis\n",
    "\n",
    "So far, we've used Python methods and regular expressions to clean short\n",
    "text fields and strings.\n",
    "In this section, we analyze entire documents using a technique called\n",
    "*text mining*, which transforms free-form text into \n",
    "a quantitative representation\n",
    "to uncover meaningful patterns and insights.\n",
    "\n",
    "Text mining is a deep topic. Instead of a comprehensive treatment, we\n",
    "introduce a few key ideas through an example, where\n",
    "we analyze the State of the Union speeches from 1790 to 2022. \n",
    "Every year, the US president gives a State of the Union speech to Congress.\n",
    "These speeches talk about current events in the country and\n",
    "make recommendations for Congress to consider.\n",
    "[The American Presidency Project](https://www.presidency.ucsb.edu/) makes these speeches available online."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "Let's begin by opening the file that has all of the speeches:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "colab": {
     "autoexec": {
      "startup": false,
      "wait_interval": 0
     },
     "base_uri": "https://localhost:8080/",
     "height": 34
    },
    "colab_type": "code",
    "executionInfo": {
     "elapsed": 303,
     "status": "ok",
     "timestamp": 1524681067395,
     "user": {
      "displayName": "Andrew Kim",
      "photoUrl": "https://lh3.googleusercontent.com/a/default-user=s128",
      "userId": "109388192039284916411"
     },
     "user_tz": 420
    },
    "id": "n6NNGiO93AKJ",
    "outputId": "6248e853-8c58-4362-9004-a5028c7e5218"
   },
   "outputs": [],
   "source": [
    "from pathlib import Path\n",
    "\n",
    "text = Path('data/stateoftheunion1790-2022.txt').read_text()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "At the beginning of this chapter, we saw that each speech in the data begins with \n",
    "a line with three asterisks: `***`.\n",
    "We can use a regular expression to count the number of times the\n",
    "string `***` appears:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "There are 232 speeches total\n"
     ]
    }
   ],
   "source": [
    "import re\n",
    "num_speeches = len(re.findall(r\"\\*\\*\\*\", text))\n",
    "print(f'There are {num_speeches} speeches total')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "In text analysis, a *document* refers to a single piece of text that we want\n",
    "to analyze. Here, each speech is a document.\n",
    "We split apart the `text` variable into its individual documents:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "records = text.split(\"***\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "Then we can put the speeches into a dataframe:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>date</th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>George Washington</td>\n",
       "      <td>January 8, 1790</td>\n",
       "      <td>Fellow-Citizens of the Senate and House of Rep...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>George Washington</td>\n",
       "      <td>December 8, 1790</td>\n",
       "      <td>Fellow-Citizens of the Senate and House of Rep...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>George Washington</td>\n",
       "      <td>October 25, 1791</td>\n",
       "      <td>Fellow-Citizens of the Senate and House of Rep...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>229</th>\n",
       "      <td>Donald J. Trump</td>\n",
       "      <td>February 4, 2020</td>\n",
       "      <td>Thank you very much. Thank you. Thank you very...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>230</th>\n",
       "      <td>Joseph R. Biden, Jr.</td>\n",
       "      <td>April 28, 2021</td>\n",
       "      <td>Thank you. Thank you. Thank you. Good to be ba...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>231</th>\n",
       "      <td>Joseph R. Biden, Jr.</td>\n",
       "      <td>March 1, 2022</td>\n",
       "      <td>Madam Speaker, Madam Vice President, our First...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>232 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                       name              date  \\\n",
       "0         George Washington   January 8, 1790   \n",
       "1         George Washington  December 8, 1790   \n",
       "2         George Washington  October 25, 1791   \n",
       "..                      ...               ...   \n",
       "229       Donald J. Trump    February 4, 2020   \n",
       "230  Joseph R. Biden, Jr.      April 28, 2021   \n",
       "231  Joseph R. Biden, Jr.       March 1, 2022   \n",
       "\n",
       "                                                  text  \n",
       "0    Fellow-Citizens of the Senate and House of Rep...  \n",
       "1    Fellow-Citizens of the Senate and House of Rep...  \n",
       "2    Fellow-Citizens of the Senate and House of Rep...  \n",
       "..                                                 ...  \n",
       "229  Thank you very much. Thank you. Thank you very...  \n",
       "230  Thank you. Thank you. Thank you. Good to be ba...  \n",
       "231  Madam Speaker, Madam Vice President, our First...  \n",
       "\n",
       "[232 rows x 3 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def extract_parts(speech):\n",
    "    speech = speech.strip().split('\\n')[1:]\n",
    "    [name, date, *lines] = speech\n",
    "    body = '\\n'.join(lines).strip()\n",
    "    return [name, date, body]\n",
    "\n",
    "def read_speeches():\n",
    "    return pd.DataFrame([extract_parts(l) for l in records[1:]],\n",
    "                        columns = [\"name\", \"date\", \"text\"])\n",
    "\n",
    "df = read_speeches()\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "Now that we have the speeches loaded into a data frame, we want to transform the speeches to see how they have changed over time.\n",
    "Our basic idea is to look at the words in the speeches---if two speeches\n",
    "contain very different words, our analysis should tell us that.\n",
    "With some kind of measure of document similarity, we can see how the speeches differ from one another."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "There are a few problems in the documents that we need to take care of first:\n",
    "\n",
    "* Capitalization shouldn't matter: `Citizens` and `citizens` should be\n",
    "   considered the same word. We can address this by lowercasing the text.\n",
    "* There are unspoken remarks in the text: `[laughter]` points out where the\n",
    "   audience laughed, but these shouldn't count as part of the speech.\n",
    "   We can address this by using a regex to remove text within\n",
    "   brackets: `\\[[^\\]]+\\]`. Remember that `\\[` and `\\]` match\n",
    "   the literal left and right brackets, and `[^\\]]` matches any character that\n",
    "   isn't a right bracket.\n",
    "* We should take out characters that aren't letters or whitespace: some \n",
    "   speeches talk about finances, but a dollar amount shouldn't count as\n",
    "   a word. We can use the regex `[^a-z\\s]` to remove these characters.\n",
    "   This regex matches any character that isn't a lowercase letter\n",
    "   (`a-z`) or a whitespace character (`\\s`)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>date</th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>George Washington</td>\n",
       "      <td>January 8, 1790</td>\n",
       "      <td>fellow citizens of the senate and house of rep...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>George Washington</td>\n",
       "      <td>December 8, 1790</td>\n",
       "      <td>fellow citizens of the senate and house of rep...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>George Washington</td>\n",
       "      <td>October 25, 1791</td>\n",
       "      <td>fellow citizens of the senate and house of rep...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>229</th>\n",
       "      <td>Donald J. Trump</td>\n",
       "      <td>February 4, 2020</td>\n",
       "      <td>thank you very much  thank you  thank you very...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>230</th>\n",
       "      <td>Joseph R. Biden, Jr.</td>\n",
       "      <td>April 28, 2021</td>\n",
       "      <td>thank you  thank you  thank you  good to be ba...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>231</th>\n",
       "      <td>Joseph R. Biden, Jr.</td>\n",
       "      <td>March 1, 2022</td>\n",
       "      <td>madam speaker  madam vice president  our first...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>232 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                       name              date  \\\n",
       "0         George Washington   January 8, 1790   \n",
       "1         George Washington  December 8, 1790   \n",
       "2         George Washington  October 25, 1791   \n",
       "..                      ...               ...   \n",
       "229       Donald J. Trump    February 4, 2020   \n",
       "230  Joseph R. Biden, Jr.      April 28, 2021   \n",
       "231  Joseph R. Biden, Jr.       March 1, 2022   \n",
       "\n",
       "                                                  text  \n",
       "0    fellow citizens of the senate and house of rep...  \n",
       "1    fellow citizens of the senate and house of rep...  \n",
       "2    fellow citizens of the senate and house of rep...  \n",
       "..                                                 ...  \n",
       "229  thank you very much  thank you  thank you very...  \n",
       "230  thank you  thank you  thank you  good to be ba...  \n",
       "231  madam speaker  madam vice president  our first...  \n",
       "\n",
       "[232 rows x 3 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def clean_text(df):\n",
    "    bracket_re = re.compile(r'\\[[^\\]]+\\]')\n",
    "    not_a_word_re = re.compile(r'[^a-z\\s]')\n",
    "    cleaned = (df['text'].str.lower()\n",
    "               .str.replace(bracket_re, '', regex=True)\n",
    "               .str.replace(not_a_word_re, ' ', regex=True))\n",
    "    return df.assign(text=cleaned)\n",
    "\n",
    "df = (read_speeches()\n",
    "      .pipe(clean_text))\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "Next, we look at some more complex issues:\n",
    "\n",
    "* *Stop words* like `is`, `and`, `the`, and `but` appear so often that we\n",
    "   would like to just remove them.\n",
    "* `argue` and `arguing` should count as the same word,\n",
    "   even though they appear differently in the text. To address this,\n",
    "   we'll use *word stemming*, which transforms both words to `argu`."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "To handle these issues, we can use built-in methods from [the `nltk` library][nltk].\n",
    "\n",
    "[nltk]: https://www.nltk.org/"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "Finally, we transform the speeches into *word vectors*.\n",
    "A word vector represents a document using a vector of numbers.\n",
    "For example, one basic type of word vector counts up how many times\n",
    "each word appears in the text, as depicted in\n",
    "{numref}`Figure %s <fig:word-vectors>`."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "```{figure} figures/word-vectors.svg\n",
    "---\n",
    "name: fig:word-vectors\n",
    "---\n",
    "\n",
    "Bag-of-words vectors for three small example documents\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "This simple transform is called _bag-of-words_, and we apply it on all of our speeches. \n",
    "Then we calculate the *term frequency-inverse document frequency* (_tf-idf_ for short) to\n",
    "normalize the counts and measure the rareness of a word.\n",
    "The tf-idf puts more weight on words that only appear in a few documents.\n",
    "The idea is that if just a few documents mention the word _sanction_, say, then\n",
    "this word is extra useful for distinguishing documents from each other.\n",
    "[The `scikit-learn` library][sklearn] has a complete\n",
    "description of the transform and an implementation, which we use.\n",
    "\n",
    "[sklearn]: https://scikit-learn.org/stable/modules/feature_extraction.html#tfidf-term-weighting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "After applying these transforms, we have a two-dimensional array\n",
    "`speech_vectors`. Each row of this array is one speech transformed into a \n",
    "vector:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "tags": [
     "remove-output"
    ]
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[nltk_data] Downloading package stopwords to /Users/sam/nltk_data...\n",
      "[nltk_data]   Package stopwords is already up-to-date!\n",
      "[nltk_data] Downloading package punkt to /Users/sam/nltk_data...\n",
      "[nltk_data]   Package punkt is already up-to-date!\n",
      "/Users/sam/mambaforge/envs/textbook-test2/lib/python3.10/site-packages/sklearn/feature_extraction/text.py:525: UserWarning:\n",
      "\n",
      "The parameter 'token_pattern' will not be used since 'tokenizer' is not None'\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import nltk\n",
    "nltk.download('stopwords')\n",
    "nltk.download('punkt')\n",
    "\n",
    "from nltk.stem.porter import PorterStemmer\n",
    "from sklearn.feature_extraction.text import TfidfVectorizer\n",
    "\n",
    "stop_words = set(nltk.corpus.stopwords.words('english'))\n",
    "porter_stemmer = PorterStemmer()\n",
    "\n",
    "def stemming_tokenizer(document):\n",
    "    return [porter_stemmer.stem(word)\n",
    "            for word in nltk.word_tokenize(document)\n",
    "            if word not in stop_words]\n",
    "\n",
    "tfidf = TfidfVectorizer(tokenizer=stemming_tokenizer)\n",
    "speech_vectors = tfidf.fit_transform(df['text'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(232, 13211)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "speech_vectors.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "We have 232 speeches, and each speech was transformed into a\n",
    "length-13,211 vector.\n",
    "To visualize these speeches, we use a technique called\n",
    "*principal component analysis* to represent the data table of 13211 features\n",
    "by a new set of features that are orthogonal to one another. The first vector accounts for \n",
    "the maximum variation in the original features, the second for the maximum variance that is orthogonal to the first, and so on.\n",
    "Often the first two components, which we can plot as pairs of points, reveal clusters and outliers.\n",
    "\n",
    "Next, we plot the first two principal components. Each point is one speech, and we've colored the points\n",
    "according to the year of the speech.\n",
    "Points that are close together represent similar speeches, and\n",
    "points that are far away from one another represent dissimilar speeches:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "tags": [
     "hide-cell"
    ]
   },
   "outputs": [],
   "source": [
    "from scipy.sparse.linalg import svds\n",
    "\n",
    "def compute_pcs(data, k):\n",
    "    centered = data - data.mean(axis=0)\n",
    "    U, s, Vt = svds(centered, k=k)\n",
    "    return U @ np.diag(s)\n",
    "\n",
    "# Setting the random seed doesn't affect svds(), so re-running this code\n",
    "# might flip the points along the x or y-axes.\n",
    "pcs = compute_pcs(speech_vectors, k=2)\n",
    "\n",
    "# So we use a hack: we make sure the first row's PCs are both positive to get\n",
    "# the same plot each time.\n",
    "if pcs[0, 0] < 0:\n",
    "    pcs[:, 0] *= -1\n",
    "if pcs[0, 1] < 0:\n",
    "    pcs[:, 1] *= -1\n",
    "\n",
    "with_pcs1 = df.assign(year=df['date'].str[-4:].astype(int),\n",
    "                      pc1=pcs[:, 0], pc2=pcs[:, 1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "tags": [
     "hide-cell"
    ]
   },
   "outputs": [],
   "source": [
    "fig = px.scatter(with_pcs1, x='pc1', y='pc2', color='year',\n",
    "           hover_data=['name'],\n",
    "           width=550, height=350)\n",
    "fig.update_layout(coloraxis_colorbar_thickness=15,\n",
    "                  coloraxis_colorbar_title='Year')\n",
    "fig.write_image('figures/sotu_pca.png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "tags": [
     "remove-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# The colorbar for the above doesn't render in the PDF properly, so we save the\n",
    "# plot to a file.\n",
    "from IPython.display import display, Image\n",
    "display(Image(filename='figures/sotu_pca.png'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "We see a clear difference in speeches over time---speeches given in the 1800s\n",
    "used very different words than speeches given after 2000.\n",
    "It's also interesting to see that the speeches cluster tightly in the same\n",
    "time period.\n",
    "This suggests that speeches within the same period\n",
    "sound relatively similar, even though the speakers were from\n",
    "different political parties."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "tags": [],
    "user_expressions": []
   },
   "source": [
    "This section gave a whirlwind introduction to text analysis.\n",
    "We used text manipulation tools from previous sections to clean up the\n",
    "presidential speeches.\n",
    "Then we used more advanced techniques like stemming,\n",
    "the tf-idf transform, and principal component analysis to compare speeches.\n",
    "Although we don't have enough space in this book\n",
    "to cover all of these techniques in detail, we hope that this section\n",
    "piqued your interest in the exciting world of text analysis."
   ]
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [
    "RTJu-FQY3AIp",
    "TrPjIHHD8rOC"
   ],
   "default_view": {},
   "name": "working_with_text.ipynb",
   "provenance": [],
   "version": "0.3.2",
   "views": {}
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.12"
  },
  "toc": {
   "nav_menu": {},
   "number_sections": false,
   "sideBar": false,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": true,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
